Ci improvements backport 2.9#4024
Conversation
It fails sometimes and the build time doesn't increase. If it fails, the error is: ERROR: ld.so: object 'libeatmydata.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored. Merge a few improvements from master.
Retry should not have an effect: Either you are rate limited and it fails anyway or it succeeds. No --quiet so you see what is going on.
Ubuntu image from gitlab should be reasonable up to date. No need to remove firefox any more. In debian containers, there is only a minimal package set, so we can upgrade. Especially for sid, the container is not always up to date.
cppcheck is now in test section.
DEBIAN_FRONTEND: noninteractive can be defined once on top. set -e is not needed in CI, it stops anyway on any error. Linuxcnc repo is added for everything except sid / bookworm / trixie which is all what we build, so it can be removed.
All actions updated to latest release. Checkout: Submodules not needed / fetch-depth 1 is fine for all targets not needing history. More steps help debugging and tuning ci. Fetch not needed, checkout fetches already.
This argument limited the amount of CPU's to 2. Without, we have all 4 CPU's reducing build time.
Less packages -> faster build. Recommends should not be needed.
Scripts are easier to test locally than if the shell code is in the ci.yml. They are also reusable. travis-install-build-deps.sh replaced by one script, only used in CI.
|
And,... crash and burn. Typical... ;-) |
Some gitignores are missing, failed as it should... ;-) |
|
Ah, cpp / shellcheck don't exist in 2.9... :-D Other job on 2.9: Anyway, how long until 2.10 is released? |
|
Shellcheck and cppcheck, yes, they were added and a lot of problems got solved that way around. 2.10 is still some time in the future. Working hard on fixing the hal type problem. That should go in to eliminate the 32/64 bit differentiation. Then we're probably mostly done for release. |
|
Do you think this back-port is useful? Doc is still failing. I would have to investigate... |
|
The backport is useful. The CI on 2.9 takes 55 minutes or so, where master is down to 21..23 minutes. That would be an improvement. |
c9f9836 to
5a77718
Compare
|
So, this one should hopefully pass. The last one had a timeout but indep is now fine. |
|
So, passed. 52min down to 30min. It seams the dock build is less performant on 2.9. |
|
I don't think you need to do the cppcheck/shellcheck part at all. The list of errors, warnings and other problems is so long... It was fixed in master and I'm not going to backport that effort. You can just remove the CI for it IMO (never worked anyway). |
It is supported for 2.9, so yes. |
2f59147 to
395e9ad
Compare
Ok, so I commented out the target. |
|
Do you think this is ready or are you not satisfied yet? |
|
The only thing missing is: Download a few Debian packages from the old and the new CI and compare the contents to detect if might be some configure stuff automatically deactivated some parts due to missing packages. If you can do that, I will set it to ready. Or I can do that until end of the week. |
|
No rush... I'm working on HAL and would need to familiarize myself with the procedure of testing. |
|
What tested based on possible impacts by this change: I compared the unpacked deps for bookworm / trixie with https://github.com/LinuxCNC/linuxcnc/actions/runs/25679989364 (Base of this PR): Additionally, I installed and run the trixie deb's with axis_mm / gmoccapy, all works fine. I am not able to test the release stage (might be I could by tag&push my branch but that would mess up your releases... ;-) ) but there are only minor changes in this stage. |
If you think this is useful, I will do spot checks on created Debian packages and then it is ready to merge.
It was quite easy to cherry-pick. Let's see if the CI passes. When merging 2.9 to master, care has to be taken that no CI changes are merged.